package com.example.utils;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.entity.PageVO;

public class PageQueryUtil {

    public static <T> void buildPage(PageVO<T> pageVO, Wrapper<T> queryWrapper) {
        Page<T> page = new Page<>(pageVO.getPageNumber(), pageVO.getPageSize());
        if (pageVO.getOrders() != null) {
            page.addOrder(pageVO.getOrders());
        }
        T param = pageVO.getParam();
        Wrapper<T> wrapper;
        if (param == null) {
            wrapper = Wrappers.emptyWrapper();
        } else {
            wrapper = queryWrapper;
        }
        pageVO.setPage(page);
        pageVO.setWrapper(wrapper);
    }
}
